﻿using IronCow;
using Milkify.Input;
using Ninject.Core;
using Ninject.Core.Behavior;

namespace Milkify
{
    internal class MilkifyInfrastructureModule : StandardModule
    {
        public override void Load()
        {
            Bind<Rtm>().ToProvider<RtmProvider>().Using<SingletonBehavior>();
            Bind<IControllerFactory>().To<MilkifyControllerFactory>().Using<SingletonBehavior>();
            Bind<IViewFactory>().To<MilkifyViewFactory>().Using<SingletonBehavior>();
            Bind<ApplicationExceptionHandler>().ToSelf().Using<SingletonBehavior>();
        }
    }
}
